home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
AMICUS
/
AMIBEST1.ADF
/
AmigaBasicStuff
/
BasicGadgets
/
Listing3
< prev
next >
Wrap
Text File
|
1987-07-22
|
1KB
|
37 lines
' Listing #3
' Part 3 of 4, Amiga Basic gadget subprograms
' Bryan D. Catley, September 1986
'
SUB GetGdgt (Ga%,Gb%,T1(),T2$(),type) STATIC
SHARED MouseX%,MouseY%,MouseInd
WHILE MOUSE(0)=0:WEND
r%=CSRLIN:c%=POS(0)
mx=MOUSE(1):my=MOUSE(2)
MouseX%=mx:MouseY%=my:MouseInd=0
FOR n=Ga% TO Gb%
IF mx>T1(n,0) AND mx<T1(n,0)+T1(n,2) THEN
IF my>T1(n,1) AND my<T1(n,1)+T1(n,3) THEN
bg=T1(n,4):fg=T1(n,5):bo=T1(n,6)
IF bo>-1 THEN
x1=T1(n,0)+2:y1=T1(n,1)+2
x2=x1+T1(n,2)-4:y2=y1+T1(n,3)-4
LINE(x1,y1)-(x2,y2),fg,bf
COLOR bg,fg:row%=INT(y1/8+2):col%=INT(x1/8+2)
LOCATE row%,col%:PRINT T2$(n)
ELSE
IF bo=-1 THEN
x1=T1(n,0):y1=T1(n,1):x2=x1+T1(n,2):y2=y1+T1(n,3)
LINE(x1,y1)-(x2,y2),fg,bf:LINE(x1,y1)-(x2,y2),bg,b
END IF
END IF
type=n-Ga%+1:n=Gb%:MouseInd=1
IF bo>-1 THEN n%=type+Ga%-1
END IF
END IF
NEXT n
WHILE MOUSE(0)<>0:WEND
IF type<>0 AND bo>-1 THEN DrawGdgts n%,n%,T1(),T2$()
LOCATE r%,c%
END SUB